home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / TeX-inputs / LaTeX / contrib / hyperref / pdfmark.cfg < prev    next >
Text File  |  1997-03-26  |  10KB  |  321 lines

  1. %%
  2. %% This is file `pdfmark.cfg',
  3. %% generated with the docstrip utility.
  4. %%
  5. %% The original source files were:
  6. %%
  7. %% hyperref.dtx  (with options: `pdfmark,outlines')
  8. %% 
  9. \def\fileversion{4.21}
  10. \def\filedate{1997/03/12}
  11. \def\docdate {1997/03/12}
  12. \def\hyper@@@anchor#1{%
  13.    {\pdfmark[\anchor@spot]{pdfmark=/DEST,View=\pdfView,Dest=#1}}%
  14. }
  15. \def\hyperbaseurl#1{%
  16.  \pdfmark{pdfmark=/DOCVIEW,URI=<< /Base (#1) >>}%
  17. }
  18. \def\hyper@anchorstart#1{%
  19. \literalps@out{HyperStart}%
  20.   \gdef\hyper@currentanchor{#1}%
  21.   \@ActiveAnchortrue
  22. }
  23. \def\hyper@anchorend{%
  24. \pdf@setheight
  25. \literalps@out{HyperAutoEnd HyperAutoVoff}%
  26.    \pdfmark{pdfmark=/DEST,View=\pdfView,
  27.        Dest=\hyper@currentanchor,
  28.        Rect=\pdf@bbox}%
  29.   \@ActiveAnchorfalse
  30. }
  31. \def\hyper@linkstart#1{%
  32.    \ifHyper@breaklinks\else\mbox\bgroup\fi\bgroup
  33.    \colorlink{\LinkColor}%
  34.    \def\hyper@hash{}%
  35.    \literalps@out{HyperStart}%
  36.    \global\edef\hyper@currentanchor{#1}%
  37. }
  38. \def\hyper@linkend{\@ifnextchar[{\hyper@@linkend}{\hyper@@linkend[Normal]}}
  39. \def\hyper@@linkend[#1]{%
  40.    \pdf@setheight
  41.     \edef\@foo{\csname BorderColor@#1\endcsname}%
  42.     \literalps@out{HyperAutoEnd}%
  43.        \pdfmark{pdfmark=/ANN,Subtype=/Link,Dest=\hyper@currentanchor,
  44.            Color=\@foo,Rect=\pdf@bbox}%
  45.    \egroup
  46.    \ifHyper@breaklinks\else\egroup\fi
  47. }
  48. \def\hyperimage#1{%
  49.   \bgroup
  50.   \let\%\@percentchar
  51.   \let\#\hyper@hash
  52.   \let\~\hyper@tilde
  53.   \@URLpdfmark{}{#1}%
  54.   \egroup
  55. }
  56. \def\hyper@@link[#1]#2#3#4{%
  57.   \ifx\\#2\\\def\hyper@hash{}%
  58.     \edef\@foo{\csname BorderColor@#1\endcsname}%
  59.  \pdfmark[#4]{Color=\@foo,pdfmark=/ANN,Subtype=/Link,Dest=#3}%
  60.   \else
  61.     \Externalpdfmark{#2}{#3}{#4}%
  62.   \fi
  63. }
  64. \def\pdfmark{\@ifnextchar[{\@pdfmark}{\@pdfmark[]}}
  65. \def\@pdfmark[#1]#2{%
  66.     \edef\goforit{\noexpand\pdf@toks={ \the\pdf@defaulttoks}}%
  67.     \goforit
  68.     \let\pdf@type\relax
  69.     \setkeys{PDF}{#2}%
  70.     \ifx\pdf@type\relax
  71.        \typeout{ERROR: no pdfmark type specified in #2!!}%
  72.        \ifx\\#1\\\relax\else\pdf@rect{#1}\fi
  73.     \else
  74.        \bgroup
  75.        \ifx\\#1\\\relax\else
  76.        \@ifundefined{\pdf@type color}%
  77.           {\def\C@l@r{\LinkColor}}%
  78.           {\def\C@l@r{\expandafter\csname\pdf@type color\endcsname}}%
  79.        \colorlink{\C@l@r}\pdf@rect{#1}\fi
  80.   \literalps@out{[\the\pdf@toks\space \pdf@type\space pdfmark}%
  81.        \egroup
  82.     \fi
  83. }
  84. \newsavebox{\pdf@box}
  85. \def\pdf@rect#1{%
  86.    \leavevmode
  87.    \setbox\pdf@box=\hbox{#1}%
  88.    \lower\dp\pdf@box\hbox{\literalps@out{HyperStart}}%
  89.    \ifHyper@breaklinks#1\else\copy\pdf@box\fi
  90.    \raise\ht\pdf@box\hbox{\literalps@out{HyperEnd HyperVoff }}%
  91.    \setbox\pdf@box=\hbox{}%
  92.    \pdf@addtoks{[\pdf@bbox]}{Rect}%
  93. }
  94. \newtoks\pdf@toks
  95. \newtoks\pdf@defaulttoks
  96. \pdf@defaulttoks={ }%
  97. \def\pdf@addtoks#1#2{%
  98.    \toks0={/#2 #1 }%
  99.    \edef\goforit{\noexpand\pdf@toks={\the\pdf@toks\space /#2 #1}}%
  100.    \goforit
  101. }
  102. \def\PDFdefaults#1{%
  103.  \pdf@defaulttoks={#1}%
  104. }
  105. \define@key{PDF}{pdfmark}{\def\pdf@type{#1}}
  106. \define@key{PDF}{Action}{\pdf@addtoks{#1}{Action}}
  107. \define@key{PDF}{Border}{\pdf@addtoks{[#1]}{Border}}
  108. \define@key{PDF}{Color}{\pdf@addtoks{[#1]}{Color}}
  109. \define@key{PDF}{Contents}{\pdf@addtoks{(#1)}{Contents}}
  110. \define@key{PDF}{Count}{\pdf@addtoks{#1}{Count}}
  111. \define@key{PDF}{CropBox}{\pdf@addtoks{[#1]}{CropBox}}
  112. \define@key{PDF}{DOSFile}{\pdf@addtoks{(#1)}{DOSFile}}
  113. \define@key{PDF}{DataSource}{\pdf@addtoks{(#1)}{DataSource}}
  114. \define@key{PDF}{Dest}{\ifx\\#1\\\else\pdf@addtoks{/#1}{Dest}\fi}
  115. \define@key{PDF}{Dir}{\pdf@addtoks{(#1)}{Dir}}
  116. \define@key{PDF}{File}{\pdf@addtoks{(#1)}{File}}
  117. \define@key{PDF}{Flags}{\pdf@addtoks{#1}{Flags}}
  118. \define@key{PDF}{ID}{\pdf@addtoks{[#1]}{ID}}
  119. \define@key{PDF}{MacFile}{\pdf@addtoks{(#1)}{MacFile}}
  120. \define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
  121. \define@key{PDF}{Op}{\pdf@addtoks{(#1)}{Op}}
  122. \define@key{PDF}{Open}{\pdf@addtoks{#1}{Open}}
  123. \define@key{PDF}{Page}{\pdf@addtoks{#1}{Page}}
  124. \define@key{PDF}{PageMode}{\pdf@addtoks{#1}{PageMode}}
  125. \define@key{PDF}{Params}{\pdf@addtoks{(#1)}{Params}}
  126. \define@key{PDF}{Rect}{\pdf@addtoks{[#1]}{Rect}}
  127. \define@key{PDF}{SrcPg}{\pdf@addtoks{#1}{SrcPg}}
  128. \define@key{PDF}{Subtype}{\pdf@addtoks{#1}{Subtype}}
  129. \define@key{PDF}{Title}{\pdf@addtoks{(#1)}{Title}}
  130. \define@key{PDF}{Unix}{\pdf@addtoks{(#1)}{Unix}}
  131. \define@key{PDF}{UnixFile}{\pdf@addtoks{(#1)}{UnixFile}}
  132. \define@key{PDF}{View}{\pdf@addtoks{[#1]}{View}}
  133. \define@key{PDF}{WinFile}{\pdf@addtoks{(#1)}{WinFile}}
  134. \define@key{PDF}{Author}{\pdf@addtoks{(#1)}{Author}}
  135. \define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}
  136. \define@key{PDF}{Creator}{\pdf@addtoks{(#1)}{Creator}}
  137. \define@key{PDF}{Producer}{\pdf@addtoks{(#1)}{Producer}}
  138. \define@key{PDF}{Subject}{\pdf@addtoks{(#1)}{Subject}}
  139. \define@key{PDF}{Keywords}{\pdf@addtoks{(#1)}{Keywords}}
  140. \define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
  141. \define@key{PDF}{Base}{\pdf@addtoks{(#1)}{Base}}
  142. \define@key{PDF}{URI}{\pdf@addtoks{#1}{URI}}
  143. \ifcase\Hyper@dvidriver
  144.  \def\pdfView{/XYZ pdf@hoff pdf@voff null}
  145. \or  % dvipsone
  146.  \def\pdfview#1{%
  147.  \pstVerb{[ /View [ /XYZ  gsave revscl currentpoint grestore 20 add exch pop
  148.  null exch null] %
  149.   /Dest /#1 /DEST pdfmark}
  150.  }
  151. \fi
  152. \def\PDFNextPage{\@ifnextchar[{\@PDFNextPage}%
  153.    {\@PDFNextPage[]}}
  154. \def\@PDFNextPage[#1]#2{\pdfmark[#2]{#1,Color=.2 .1 .5,
  155.  pdfmark=/ANN,Subtype=/Link,Page=/Next}}
  156. \def\PDFPreviousPage{\@ifnextchar[{\@PDFPreviousPage}%
  157.    {\@PDFPreviousPage[]}}
  158. \def\@PDFPreviousPage[#1]#2{\pdfmark[#2]{#1,Color=.4 .4 .1,
  159.   pdfmark=/ANN,Subtype=/Link,Page=/Prev}}
  160. \def\PDFOpen#1{%
  161.   \pdfmark{#1,pdfmark=/DOCVIEW}%
  162. }
  163. \def\PDFPage{\@ifnextchar[{\@PDFPage}{\@PDFPage[]}}
  164. \def\@PDFPage[#1]#2#3{%
  165.  \let\pageref\simple@pageref
  166.  \pdfmark[#3]{#1,Page=#2,Color=\BorderColor@Page,pdfmark=/ANN,Subtype=/Link}}
  167. \def\simple@pageref#1{%
  168.   \expandafter\ifx\csname r@#1\endcsname\relax
  169.    0%
  170.   \else
  171.     \expandafter\expandafter\expandafter
  172.           \@secondoffour\csname r@#1\endcsname
  173.   \fi}
  174. \def\@URLpdfmark#1#2{%
  175.  \pdfmark[#1]{pdfmark=/ANN,Color=\BorderColor@URL,
  176.  Action=<< /Subtype /URI /URI (#2) >>,Subtype=/Link}%
  177. }
  178. \def\@Filepdfmark#1#2#3{%
  179.  \def\hyper@hash{}%
  180.  \pdfmark[#2]{pdfmark=/ANN,Subtype=/Link,
  181.     Color=\BorderColor@File,Action=/GoToR,File=#3,Dest=#1}%
  182. }
  183. \def\Externalpdfmark#1#2#3{%
  184. \expandafter\@Externalpdfmark{#2}{#3}#1:::\\
  185. }
  186. \def\@Externalpdfmark#1#2#3:#4:#5:#6\\{%
  187.  \def\@pdftempa{#3#6}\def\@pdftempb{file:}%
  188.  \ifx\@pdftempa\@pdftempb
  189.     \@Filepdfmark{#1}{#2}{#4}%
  190.  \else
  191.    \def\@pdftempb{file::}%
  192.    \ifx\@pdftempa\@pdftempb
  193.       \@Filepdfmark{#1}{#2}{{#4:#5}}%
  194.    \else
  195.       \ifx\\#6\\%
  196.        \def\@url{#3#1}
  197.       \else
  198.        \ifx\\#5\\\def\@url{#3:#4#1}\else\def\@url{#3:#4:#5#1}\fi
  199.       \fi
  200.       \@URLpdfmark{#2}{\@url}%
  201.      \fi
  202.  \fi
  203. }
  204. \def\BorderColor@Normal{1 0 0}
  205. \def\BorderColor@URL{0 1 1}
  206. \def\BorderColor@File{0 .5 .5}
  207. \def\BorderColor@Cite{0 1 0}
  208. \def\BorderColor@Page{1 1 0}
  209. \ifHyper@colorlinks
  210.     \PDFdefaults{/Border [0 0 0]}
  211. \else
  212.     \PDFdefaults{}
  213. \fi
  214. \let\H@old@sect\@sect
  215. \def\@sect#1#2#3#4#5#6[#7]#8{%
  216.  \H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
  217.  \ifx\\#1\\\else
  218.   \ifnum#2<\c@secnumdepth
  219.    \edef\@thishlabel{\csname theH#1\endcsname}%
  220. \@writetorep{#7}{#1.\@thishlabel}{#2}\fi
  221.  \fi
  222. }
  223. \let\H@old@part\@part
  224. \def\@part[#1]#2{%
  225.  \H@old@part[{#1}]{#2}%
  226.  \@writetorep{#1}{part.\theHpart}{-1}%
  227. }
  228. \let\H@old@chapter\@chapter
  229. \def\@chapter[#1]#2{%
  230.  \H@old@chapter[{#1}]{#2}%
  231.   \@writetorep{#1}{chapter.\theHchapter}{0}%
  232.   }
  233. \expandafter\def\csname Parent-2\endcsname{}
  234. \expandafter\def\csname Parent-1\endcsname{}
  235. \expandafter\def\csname Parent0\endcsname{}
  236. \expandafter\def\csname Parent1\endcsname{}
  237. \newwrite\@outlinefile
  238. \def\@writetorep#1#2#3{%
  239.     \@tempcnta#3
  240.     \expandafter\edef\csname Parent#3\endcsname{#2}%
  241.     \advance\@tempcnta by -1
  242. \ifx\ReadBookmarks\relax\else
  243.     \protected@write\@outlinefile%
  244.        {\def\TeX{TeX}%
  245.         \def\LaTeX{LaTeX}%
  246.         \let\label\@gobble
  247.         \let\index\@gobble
  248.         \let\glossary\@gobble}%
  249.        {%
  250.   \protect\BOOKMARK{#2}{#1}{\csname Parent\the\@tempcnta\endcsname}}%
  251. \fi
  252. }
  253. \AtBeginDocument{\ReadBookmarks}
  254. \def\ReadBookmarks{%
  255.   \typeout{Establishing bookmarks from \jobname.out}%
  256.   \def\BOOKMARK ##1##2##3{\calc@bm@number{##3}}%
  257.   \InputIfFileExists{\jobname.out}{}{}%
  258.   \def\BOOKMARK ##1##2##3{%
  259.  \pdfmark{pdfmark=/OUT,Count=\check@bm@number{##1},
  260.     Dest=##1,Title={##2}}%
  261.   }
  262.   \InputIfFileExists{\jobname.out}{}{}%
  263.   \immediate\openout\@outlinefile=\jobname.out
  264. }
  265. \def\check@bm@number#1{\expandafter \ifx\csname#1\endcsname \relax 0%
  266.     \else \csname#1\endcsname \fi}
  267. \def\calc@bm@number#1{\@tempcnta=\check@bm@number{#1}\relax
  268.     \advance\@tempcnta by1
  269.     \expandafter\xdef\csname#1\endcsname{\the\@tempcnta}}
  270. \def\literalps@out#1{\special{ps:SDict begin #1 end}}%
  271. \begingroup
  272.   \catcode`P=12
  273.   \catcode`T=12
  274.   \lowercase{\endgroup
  275. \gdef\rem@ptetc#1.#2PT#3!{#1\ifnum#2>\z@.#2\fi}}
  276. \def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!}
  277. \def\pdf@setheight{\literalps@out{%
  278.   \strip@pt@and@otherjunk\baselineskip
  279.   \space 2 sub dup
  280.   /HyperBasePt exch def
  281.   PDFToDvips /HyperBaseDvips exch def
  282.   }%
  283. }
  284. \special{papersize=\special@paper}
  285. \special{!
  286. /DvipsToPDF { 72.27 mul Resolution div } def
  287. /PDFToDvips { 72.27 div Resolution mul } def
  288. /HyperBorder  { 1 PDFToDvips } def
  289. /HyperVoff {
  290.    currentpoint exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def
  291.  } def
  292. /HyperAutoVoff {
  293.    currentpoint exch pop
  294.     vsize 72 sub exch DvipsToPDF
  295.     HyperBasePt sub % baseline skip
  296.     sub /pdf@voff exch def
  297.  } def
  298. /HyperStart {
  299.    currentpoint
  300.     HyperBorder add /pdf@lly exch def
  301.     dup DvipsToPDF  /pdf@hoff exch def
  302.     HyperBorder sub /pdf@llx exch def
  303. } def
  304. /HyperEnd  {
  305.    currentpoint
  306.     HyperBorder sub /pdf@ury exch def
  307.     HyperBorder add /pdf@urx exch def
  308. } def
  309. /HyperAutoEnd  {
  310.    currentpoint
  311.     HyperBaseDvips sub /pdf@ury exch def
  312.     /pdf@urx exch def
  313. } def
  314. systemdict
  315.  /pdfmark known not
  316.  {userdict /pdfmark systemdict /cleartomark get put} if
  317. }
  318. \endinput
  319. %%
  320. %% End of file `pdfmark.cfg'.
  321.